Multichannel system

ABSTRACT

Systems and methods for presenting content that depicts one or more stories are provided. Content that depicts one or more stories is received from a first client device. The content that depicts the one or more stories is grouped into an edition being used to represent the one or more stories. A discovery page that enables selection of the edition is generated. Presentation of the discovery page is caused on a second client device.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application is a continuation of U.S. patent application Ser. No.16/529,461, filed on Aug. 1, 2019, which is a continuation of U.S.patent application Ser. No. 15/152,975, filed on May 12, 2016, which isa continuation of U.S. patent application Ser. No. 14/612,692, filed onFeb. 3, 2015, which claims the priority benefit of U.S. ProvisionalApplication Ser. No. 62/105,199, filed on Jan. 19, 2015, each of whichare hereby incorporated herein by reference in their entireties.

TECHNICAL FIELD

Embodiments of the present disclosure relate generally to dataprocessing and, more particularly, but not by way of limitation, todiscovery of content grouped into an edition.

BACKGROUND

In recent years, use of mobile devices, wearable devices, smart devices,and the like have each increased among consumers. In fact, these devicespervade nearly every aspect of modern life. Further, the use of mobiledevices for messaging and consumption of information has also increased.

BRIEF DESCRIPTION OF THE DRAWINGS

Various ones of the appended drawings merely illustrate exampleembodiments of the present disclosure and should not be considered aslimiting its scope.

FIG. 1 is a block diagram illustrating a networked system, according tosome example embodiments.

FIG. 2 is a block diagram illustrating components of a discovery system,according to some example embodiments.

FIG. 3 is a user interface of a discovery page, according to someexample embodiments.

FIGS. 4-7 are user interfaces of a story from an edition, according tosome example embodiments.

FIG. 8 is a user interface of annotated content, according to someexample embodiments.

FIG. 9 is a user interface of an upload page, according some exampleembodiments.

FIGS. 10-12 are flowcharts illustrating operations of a discovery systemin performing a method of presentation of content that depicts one ormore stories, according to some example embodiments.

FIG. 13 is a user interface diagram depicting an example mobile deviceand mobile operating system interface, according to some exampleembodiments.

FIG. 14 is a block diagram illustrating an example of a softwarearchitecture that may be installed on a machine, according to someexample embodiments.

FIG. 15 is a block diagram presenting a diagrammatic representation of amachine in the form of a computer system within which a set ofinstructions may be executed for causing the machine to perform any ofthe methodologies discussed herein, according to an example embodiment.

The headings provided herein are merely for convenience and do notnecessarily affect the scope or meaning of the terms used.

DETAILED DESCRIPTION

The description that follows includes systems, methods, techniques,instruction sequences, and computing machine program products thatembody illustrative embodiments of the disclosure. In the followingdescription, for the purposes of explanation, numerous specific detailsare set forth in order to provide an understanding of variousembodiments of the inventive subject matter. It will be evident,however, to those skilled in the art, that embodiments of the inventivesubject matter may be practiced without these specific details. Ingeneral, well-known instruction instances, protocols, structures, andtechniques are not necessarily shown in detail.

In various example embodiments, a system makes an edition available fora user to view in a user interface of a messaging application on aclient device. In some instances, the edition is a group of stories thatare bundled together. Moreover, the system may generate a discovery pagefeaturing a variety of channels. The user may access the edition fromone of the channels featured in the discovery page. In other words, thechannel featured on the discovery page serves as a link to the edition.As stated, the edition can include one or more stories. For example,each story can include an article, multimedia items, and the like.Moreover, each story may correspond to a specific topic. As soon as theuser selects the edition from the discovery page, the user may view theone or more stories from the edition. Also, the content within eachstory may include more than one layer. For example, the content within astory may include a first layer, also known as a top-snap, and a secondlayer, also known as longform content. In some embodiments, the top-snapfor each story may be viewed by tapping or swiping horizontally acrossthe screen of the client device and the longform content may be viewedby selection of the top-snap. For instance, the user may swipevertically on the top-snap in order to view the longform content.

In various example embodiments, upon viewing the edition, the user mayshare the content from the edition with another user. The user may senda request to the system to share the content with the other user. Insome instances, the user may also annotate the content prior to sharingit with other users. Once shared, the other users may view the annotatedcontent from their client devices. In some cases, the annotated contentis sent as an ephemeral message and is only available for a predefinedduration of time.

In various example embodiments, the system includes a publicationapplication that enables editions to be uploaded to the discovery pagefrom a content publisher or an uploading party. The system may presentan upload page to the uploading party. The upload page of thepublication application may assist the uploading party in uploading thecontent for the edition to a database server. Once the content for theedition is uploaded at the database server, the content is madeavailable to view from the discovery page. Accordingly, the systemgenerates a channel on the discovery page which provides access to theone or more editions. In some embodiments, channels may be implementedto correspond to uploading parties. Although the discovery page providesaccess to the one or more editions, in some instances, only one editionmay be viewed at a time on the client device.

FIG. 1 is a network diagram depicting a network system 100 having aclient-server architecture configured for exchanging data over anetwork, according to one embodiment. For example, the network system100 may be a messaging system where clients communicate and exchangedata within the network system 100. The data may pertain to variousfunctions (e.g., sending and receiving text and media communication,determining geolocation, etc.) and aspects (e.g., publication of mediacontent, management of media content, etc.) associated with the networksystem 100 and its users. Although illustrated herein as client-serverarchitecture, other embodiments may include other network architectures,such as peer-to-peer or distributed network environments.

As shown in FIG. 1, the network system 100 includes a social messagingsystem 130. The social messaging system 130 is generally based on athree-tiered architecture, consisting of an interface layer 124, anapplication logic layer 126, and a data layer 128. As is understood byskilled artisans in the relevant computer and Internet-related arts,each module or engine shown in FIG. 1 represents a set of executablesoftware instructions and the corresponding hardware (e.g., memory andprocessor) for executing the instructions. To avoid obscuring theinventive subject matter with unnecessary detail, various functionalmodules and engines that are not germane to conveying an understandingof the inventive subject matter have been omitted from FIG. 1. Ofcourse, additional functional modules and engines may be used with asocial messaging system, such as that illustrated in FIG. 1, tofacilitate additional functionality that is not specifically describedherein. Furthermore, the various functional modules and engines depictedin FIG. 1 may reside on a single server computer, or may be distributedacross several server computers in various arrangements. Moreover,although the social messaging system 130 is depicted in FIG. 1 as athree-tiered architecture, the inventive subject matter is by no meanslimited to such an architecture.

As shown in FIG. 1, the interface layer 124 consists of interfacemodule(s) (e.g., a web server) 140, which receives requests from variousclient-computing devices and servers, such as client device(s) 110executing client application(s) 112, and third party server(s) 120executing third party application(s) 122. In response to receivedrequests, the interface module(s) 140 communicates appropriate responsesto requesting devices via a network 104. For example, the interfacemodule(s) 140 can receive requests such as Hypertext Transfer Protocol(HTTP) requests, or other web-based, Application Programming Interface(API) requests.

The client device(s) 110 can execute conventional web browserapplications or applications (also referred to as “apps”) that have beendeveloped for a specific platform to include any of a wide variety ofmobile computing devices and mobile-specific operating systems (e.g.,IOS™, ANDROID™, WINDOWS® PHONE). In an example, the client device(s) 110are executing the client application(s) 112. The client application(s)112 can provide functionality to present information to a user 106 andcommunicate via the network 104 to exchange information with the socialmessaging system 130. Each of the client device(s) 110 can comprise acomputing device that includes at least a display and communicationcapabilities with the network 104 to access the social messaging system130. The client device(s) 110 comprise, but are not limited to, remotedevices, work stations, computers, general purpose computers, Internetappliances, hand-held devices, wireless devices, portable devices,wearable computers, cellular or mobile phones, personal digitalassistants (PDAs), smart phones, tablets, ultrabooks, netbooks, laptops,desktops, multi-processor systems, microprocessor-based or programmableconsumer electronics, game consoles, set-top boxes, network PCs,mini-computers, and the like. User(s) 106 can be a person, a machine, orother means of interacting with the client device(s) 110. In someembodiments, the user(s) 106 interact with the social messaging system130 via the client device(s) 110.

As shown in FIG. 1, the data layer 128 has database server(s) 132 thatfacilitate access to information storage repositories or database(s)134. The database(s) 134 are storage devices that store data such asmember profile data, social graph data (e.g., relationships betweenmembers of the social messaging system 130), and other user data.

An individual can register with the social messaging system 130 tobecome a member of the social messaging system 130. Once registered, amember can form social network relationships (e.g., friends, followers,or contacts) on the social messaging system 130 and interact with abroad range of applications provided by the social messaging system 130.

The application logic layer 126 includes various application logicmodule(s) 150, which, in conjunction with the interface module(s) 140,generate various user interfaces with data retrieved from various datasources or data services in the data layer 128. Individual applicationlogic module(s) 150 may be used to implement the functionalityassociated with various applications, services, and features of thesocial messaging system 130. For instance, a social messagingapplication can be implemented with one or more of the application logicmodule(s) 150. The social messaging application provides a messagingmechanism for users of the client device(s) 110 to send and receivemessages that include text and media content such as pictures and video.The client device(s) 110 may access and view the messages from thesocial messaging application for a specified period of time (e.g.,limited or unlimited). In an example, a particular message is accessibleto a message recipient for a predefined duration (e.g., specified by amessage sender) that begins when the particular message is firstaccessed. After the predefined duration elapses, the message is deletedand is no longer accessible to the message recipient. Of course, otherapplications and services may be separately embodied in their ownapplication server module(s) 150. As another example, a publicationapplication can be implemented with one or more of the application logicmodule(s) 150. The publication application provides a messagingmechanism for users (e.g., content publishers) of the client device(s)110 to upload media content to the social messaging system 130.

As illustrated in FIG. 1, the social messaging system 130 includes adiscovery system 160. In various embodiments, the discovery system 160can be implemented as a standalone system and is not necessarilyincluded in the social messaging system 130. In some embodiments, theclient device(s) 110 includes a portion of the discovery system 160(e.g., a portion of the discovery system may be included in the clientapplication(s) 112). In these embodiments, the client device(s) 110 canwork alone or in conjunction with the portion of the discovery system160 included in a particular application server or the social messagingsystem 130.

The communication module 250 provides various communicationsfunctionality. For example, the communication module 250 may beconfigured to exchange network communications with database server(s)132, clients device(s) 110, as well as any third party server(s) 120.The types of information and data exchanged may include configurationdata for media content, such as pictograph data (e.g., an image file);geographic indications (e.g., a particular latitude and longitude); dataassociated with the user (e.g., member profile data from an onlineaccount or social network service data); or other data to facilitate thefunctionality described herein.

The presentation module 240 provides various presentation and userinterface functionalities and allows the transmission of information toand from the user (e.g., visually displaying information on a screen,acoustic output, haptic feedback). For instance, the presentation module240 may present content depicting one or more stories on a userinterface or in a display of a user device. The user may provide inputto interact with the user interface in many possible manners, such asalphanumeric, point based (e.g., cursor), tactile, or other input (e.g.,touch screen, tactile sensor, light sensor, infrared sensor, biometricsensor, microphone, gyroscope, accelerometer, or other sensors), and thelike.

FIG. 2 is a block diagram illustrating components of a discovery system160, according to some example embodiments. The discovery system 160 isshown as including a reception module 210, a group module 220, ageneration module 230, and a presentation module 240, all configured tocommunicate with each other (e.g., via a bus, network coupling, sharedmemory, a switch, and the like). Any one or more of the modulesdescribed herein may be implemented using hardware (e.g., one or moreprocessors of a machine) or a combination of hardware and software. Forexample, any module described herein may configure a processor (e.g.,among one or more processors of a machine) to perform the operationsdescribed herein for that module. Moreover, multiple modules may becombined into a single module, and the functions described herein for asingle module may be subdivided among multiple modules. Furthermore,according to various example embodiments, modules described herein asbeing implemented within a single machine, database, or device may bedistributed across multiple machines, databases, or devices. Othermodules not pertinent to example embodiments can also be included, butare not shown.

In various example embodiments, the reception module 210 is configuredto receive content that depicts one or more stories. The receptionmodule 210 may receive the content from a first client device which isoperated by a first user. The first user may be an individual, a groupof users or any other entity. The content may include a video clip, animage, a description, and the like. Each story may revolve around aspecific topic or idea. For instance, a story may include informationabout a particular travel destination. Accordingly, the content for thetravel destination may include pictures and descriptions of the traveldestination. In some instances, the content may include multiple layers(e.g., a first layer, a second layer, etc.). A user a may view the firstlayer, also known as a top-snap, prior to the second layer, also knownas longform content. In some instances, the first layer is selectable tocause display of the second layer. For example, the first layer contentfor a music video may be a ten second preview of the entire music video.The second layer content for the music video may be a full length clipof the music video. As another example, the first layer content for thetravel destination may be a picture of the travel destination. Thesecond layer content for the travel destination may be descriptionsabout things to do at the travel destination.

In various example embodiments, the reception module 210 is furtherconfigured to receive a request from the first client device to uploadthe content into the edition. The first device may have clientapplication software (e.g., a messaging application) installed whichincludes a feature to send the request to the reception module 210. Inresponse, the presentation module 240 is configured to display an uploadpage on the first client device, as further explained below.

In various example embodiments, the group module 220 is configured togroup the content that depicts the one or more stories into an edition.In example embodiments, these editions may be presented as part of themessaging application installed on a client device. Each story of theedition may occupy an entire screen when viewed on the client device.Moreover, a user may scroll through each story of the edition using atapping or swiping gesture or motion. Specifically, the first layer(e.g., top-snap) for each story may be viewed by tapping or swipinghorizontally across the screen of the client device. Similarly, thesecond layer (e.g., longform content) may be viewed by selection of thetop-snap. In various example embodiments, the reception module 210 isfurther configured to store the received content in a database, such asdatabase(s) 134. Once stored, the group module 220 can retrieve thecontent from the database and group the content into the edition.

The group module 220 may be further configured to identify that thecontent is received from the first client device within a specificpredefined window of time. For instance, all of the stories grouped intothe edition may be identified by the group module 220 as being receivedwithin a span of a week. Therefore, these stories within the edition mayremain current or up to date.

In various example embodiments, the generation module 230 is configuredto generate a discovery page that allows a user to select an edition. Insome embodiments, the discovery page is a landing page that includes alink or channel to an edition. For instance, each link/channel may begenerated by generation module 230. In order to select an edition forviewing, a user may activate or select the desired link on the discoverypage. In some embodiments, the channels may correspond to (or serve toidentify) the source of the content in the edition.

In various example embodiments, the presentation module 240 may presentthe discovery page on a second client device, operated by a second user.Thus, the presentation module 240 is further configured to present theicon of the channel as part of the discovery page. The channel may alsoserve as a link to other editions that are received from the samesource. In various example embodiments, the presentation module 240 maypresent the content on the second client device based on the selectionof the channel. Therefore, the presentation of the content is performedbased on selection of the edition from the discovery page. Thepresentation module 240 may also present the multiple layers of thecontent (e.g., the first layer and the second layer) on the secondclient device.

In various example embodiments, the presentation module 240 is furtherconfigured to present the upload page on the first client device. Thepresentation of the upload page may be performed in response to thereceived request to upload content. The upload page enables a user(e.g., the first user operating the first client device) to uploadcontent that depicts the one or more stories. For instance, the uploadpage may include a section where the user can drag content to indicatethat the content is to be uploaded into the edition.

In various example embodiments, the reception module 210 is furtherconfigured to receive an annotated version of the content that depictsthe one or more stories. The reception module 210 may also receive anindication to share the annotated version of the content with another orthird client device. In this regard, the annotated version of thecontent may be received from the second client device. The annotatedversion of the content may include additional markings added by thesecond user to the original content that was displayed on the secondclient device. Specifically, upon viewing the content on the secondclient device, the second user may edit or alter the content in order togenerate an annotated version of the content. Annotations may include:adding a further description, a drawing, an animation or a picture,adding a layer on top of original content (including e.g., any number ofphotofilters), deleting a portion of the original content, and the like.Accordingly, the presentation module 240 is configured to causepresentation of the annotated version of the content on the third clientdevice for a predefined duration of time. Therefore, the third user onthe third client device will be able to view the annotated version ofthe content sent from the second user on the second client device. Insome instances, the annotated version of the content is an ephemeralmessage that is available for the predefined duration of time. After thepredefined duration of time elapses, the message may be deleted, and nolonger able to be viewed, on the third client device.

In various example embodiments, the reception module 210 is furtherconfigured to receive a scheduled time from the first client device. Thescheduled time is used to indicate when to present the edition on thesecond client device. Therefore, in some instances, the presentationmodule 240 is further configured to present the edition on the secondclient device during the scheduled time. For example, the edition ismade available on the discovery page during the scheduled time. Thus,when the scheduled time elapses, the second user is no longer able toselect the edition for viewing from the discovery page.

FIG. 3 is a user interface 300 of a discovery page, according to someexample embodiments. The discovery page is displayed on a client devicebelonging to a user. As shown, the user interface 300 includes a varietyof channels. Each channel represents an icon and can be used to accessan edition. In some instances, each channel corresponds to a source forthe content or editions included in the channel. As shown, the userinterface 300 includes a first channel 310 and a second channel 320. Thefirst channel 310 may be a link that is selectable by the user to viewan edition from the first channel 310. Likewise, the second channel 320is a link that is selectable by the user to view an edition from thesecond channel 320. Selection of a channel may include a touch or agesture over the portion of the discovery page that displays thechannel.

FIG. 4 is a user interface 400 of a story from an edition, according tosome example embodiments. The user interface 400 is displayed on aclient device belonging to a user. Further, the user interface 400 maybe displayed after selection of a channel from the discovery page ofFIG. 3. As shown, the user interface 400 of the story displays contentthat includes a description 410 and a video clip 420. For example, thestory may be a rock music video, as indicated by the description 410.Further included in the user interface 400 is a video clip 420 of therock music video. In some instances, the video clip 420 is a preview ofthe entire rock music video and therefore a shortened version of therock music video. Also included in the content displayed in the userinterface 400 is a description 405 to indicate that the story for therock music video belongs to the edition.

FIG. 5 is a user interface 500 of a story from an edition, depicting asecond layer of a story, according to some example embodiments. The userinterface 500 is displayed on a client device belonging to a user.Further, the user interface 500 may be displayed after selection of thecontent displayed in the user interface 400 shown in FIG. 4. Forexample, the user may swipe vertically on the user interface 400 inorder to view the user interface 500. As shown, the content displayed inthe user interface 500 is the second layer of the story for the rockmusic video. Moreover, the content displayed in the user interface 500includes a description 510 and a video clip 520. The video clip 520 maybe the entire version of the rock music video, as indicated by thedescription 510. Also included in the content displayed in the userinterface 500 is a description 505 to indicate that the story for therock music video belongs to the edition. The video clip 520 may also beincluded with an image 525. Specifically, embodiments of the inventioncontemplate allowing portable network graphics images (“PNG images”) orthe like to be overlaid on top of video. Thus, the image 525 may appearin front of the video clip 520 as the video clip 520 is playing. Becausethe PNG image is able to present text, icons, colors, etc. in a moredetailed manner than a video counterpart, the content appears moretightly integrated than other methods.

FIG. 6 is a user interface 600 of a story from an edition, according tosome example embodiments. The user interface 600 is displayed on aclient device belonging to a user and displays a story for a traveldestination (e.g., Chicago). The content displayed in the user interface600 includes a description 610 and an image 620. In this example, thedescription 610 indicates that the story is about visiting Chicago.Further, the image 620 is used to depict the Chicago skyline. Alsoincluded in the content displayed in the user interface 600 is adescription 605 to indicate that the story for the travel destinationbelongs to the edition.

FIG. 7 is a user interface 700 of a story from an edition, according tosome example embodiments. The user interface 700 is displayed on aclient device belonging to a user. Further, the user interface 700 maybe displayed after selection of the user interface 600 shown in FIG. 6.For example, the user may swipe vertically on the content displayed inthe user interface 600 in order to view the user interface 700. Asshown, the content displayed in the user interface 700 is the secondlayer of the story for the travel destination. Moreover, the contentdisplayed in the user interface 700 includes a first description 710, asecond description 720, and a third description 730. The firstdescription indicates that the story is about visiting Chicago. Thesecond description 720 provides information about events in Chicago. Thethird description 730 provides information about food in Chicago. Alsoincluded in the content displayed in the user interface 700 is adescription 705 to indicate that the story for the travel destinationbelongs to the edition.

FIG. 8 is a user interface 800 of annotated content, according to someexample embodiments. The user interface 800 is displayed on a clientdevice belonging to a recipient. Further, the user interface 800includes content that was intended to be shared with the recipient andreceived from a sender. As shown, the content displayed in the userinterface 800 includes a first description 810, a second description820, and a third description 830. In some instances, the firstdescription 810, the second description 820, and the third description830 are respectively identical to the first description 710, the seconddescription 720, and the third description 730 of FIG. 7. Also shown inFIG. 8 is a fourth description 850. The fourth description 850 may beadditional content that is added by the sender. For instance, the sendermay edit the content displayed in the user interface 700 of FIG. 7 byadding the fourth description 850 (e.g., by typing using a keyboard orhandwriting via the touch sensitive display screen). As shown, thefourth description 850 may include text, as well as graphics,animations, emojis, photo filters, etc. Thereafter, the sender will sendthe annotated content to the recipient to be displayed on the clientdevice belonging to the recipient. Also shown in FIG. 8 is a timer 840to indicate an amount of time remaining before the annotated contentdisappears. Therefore, the annotated content may appear on the screen onthe client device for the length of time indicated by the timer 840.Also shown in FIG. 8 is a link 860 in the form of an arrow. In someinstances, the link is selectable to cause navigation to the discoverypage. For example, upon selection of the link, an animation may appearon the screen of the client device which will eventually display thediscovery page.

FIG. 9 is a user interface 900 of an upload page, according some exampleembodiments. The user interface 900 is displayed on a device belongingto a user, such as a desktop computer or a mobile device. For example,as shown in FIG. 9, the user interface 900 of the upload page isdisplayed on a desktop computer. Moreover, the user is able to uploadoriginal content by interacting with the user interface 900.Specifically, the user interface 900 includes a portion 910 where theuser is able to upload specific content. In particular, the user is ableto upload content for one or more stories by moving files over to theportion 910 of the user interface. For example, the user may upload avideo clip by moving the video clip to the portion 910 of the userinterface. As another example, the user may upload an image by movingthe image to the portion 910 of the user interface. The user interface900 further includes a scheduling window 920 that enables the user toinput a scheduled time. The scheduled time corresponds to when theedition is made available on the discovery page. Although not shown inFIG. 9, in some instances, the upload page may include editing tools,such as a text or video editor, to facilitate the creation and/orediting of content.

FIG. 10-12 are flowcharts illustrating operations of the discoverysystem 160 in performing a method 1000 of presentation of content thatdepicts one or more stories, according to some example embodiments.Operations in the method 1000 may be performed by the discovery system160, using modules described above with respect to FIG. 2. As shown inFIG. 10, the method 1000 includes operations 1010, 1020, 1030, 1040, and1050.

At operation 1010, the reception module 210 receives content thatdepicts one or more stories. The reception module 210 receives thecontent from a first client device which is operated by a first user. Asan example, the reception module 210 receives first content that depictsa first story and second content that depicts a second story. The firstuser may upload the content from an upload page that is displayed on thefirst client device. Further, the content may include a video clip, animage, a description, and the like.

At operation 1020, the group module 220 groups the content into anedition used to represent the one or more stories. As an example, thegroup module 220 groups the first content and the second contentreceived at operation 1020 into the edition used to represent the one ormore stories.

At operation 1030, the generation module 230 generates a discovery pagethat enables selection of the edition. A second user may select the linkon the discovery page in order to view the edition. The link to theedition may be a channel. As shown in FIG. 3, the discovery pageincludes a variety of channels for the second user to choose from.

At operation 1040, the presentation module 240 causes presentation ofthe discovery page. The presentation of the discovery page may be on asecond client device belonging to the second user (e.g., the discoverypage may be broadcast to multiple recipient or target devices). In someinstances, the discovery page is a feature of a messaging applicationinstalled on the second client device.

At operation 1050, the presentation module 240 causes presentation ofthe content. In some cases, the presentation module 240 is furtherconfigured to cause presentation of the multiple layers of the content(e.g., the first layer and the second layer) on the screen of the secondclient device belonging to the second user. Once displayed on the screenof the second client device, the second user may select the first layerto cause display of the second layer of the content. For instance, thesecond user may swipe vertically on the first layer displayed on thescreen of the second client device. Alternatively, the second user maytap on the first layer displayed on the screen of the second clientdevice. In some instances, the first layer indicates an area where thesecond user may tap in order to cause display of the second layer.

In some instances, the presentation module 240 simultaneously displays avideo clip and one or more images. For example, the presentation module240 may cause the one or more images (e.g., the PNG images describedabove) to be displayed over the video clip as the video clip is beingplayed. Referring back to FIG. 5, the video clip 520 of the rock musicvideo includes an image (e.g., image 525) that is overlaid on top of thevideo clip 520.

As shown in FIG. 11, the method 1000 may include one or more ofsub-operations 1110, 1120, 1130, and 1140. Operations 1110 and 1120 maybe performed as part of operation 1020. Further, operation 1130 may beperformed as part of operation 1030 and operation 1140 may be performedprior to operation 1040.

At operation 1110, the group module 220 may be used to associate a timesetting to the content. For example, a user may be able to identify atime span, after which the content may no longer be ‘current’ oraccessible. Thus, the content included within the edition may correspondto a certain day of the week. As shown in FIGS. 4-8, each piece ofcontent displayed in the user interfaces is indicated as being part ofan edition that corresponds to a day of the week (e.g., Monday).

At operation 1120, the group module 220 generates a collection ofstories depicted by the content, which may be displayed on a clientdevice. As an example, the pieces of content displayed in FIGS. 3-8 mayrepresent a story within the collection of stories. Further, a user maybe able to navigate through each story by performing a tapping orswiping gesture.

At operation 1130, the generation module 230 generates an icon of achannel selectable to result in the presentation of the edition.Moreover, the icon of the channel may include a thumbnail image relatedto the source of the content included in the edition. Also, as shown inFIG. 3, the generated icon may be displayed on a discovery page.Although FIG. 3 does not specifically show thumbnail images, each of theicons may include a thumbnail image that is related to the source of thecontent for the edition. In some cases, when all the editions from achannel have been viewed on a client device, the icon of the channelwill change appearance (e.g., an animation that modifies a color of theicon).

At operation 1140, the reception module 210 receives a scheduled time,which may be used to indicate when the edition is available on thediscovery page. In some instances, the scheduled time is indicated by auser from the upload page. For example, as shown in FIG. 9, the uploadpage includes a section where a user may input the scheduled time.

As shown in FIG. 12, the method 1000 may include one or more ofsub-operations 1210, 1220, 1230, and 1240. Operations 1210 and 1220 maybe performed prior to operation 1010. Further, operations 1230 and 1240may be performed after operation 1050.

At operation 1210, the reception module 210 receives a request to uploadcontent to the edition. The request may be received from the firstclient device. For instance, client application software installed onthe first client device may include a feature which sends a request tothe reception module 210. Moreover, the operation 1020 may be performedbased on the request received at operation 1210.

At operation 1220, the presentation module 240 causes presentation of anupload page. The upload page enables the user of the first client deviceto upload the content that depicts the one or more stories. Forinstance, the upload page may include a section where a user can dragcontent to indicate that the content is to be uploaded into the edition.From the upload page, the user is also able to upload multiple layers(e.g., a first layer and a second layer) of content that depicts one ormore stories which will be grouped into the edition. For example, theuser may upload each layer by dragging the content (e.g., a file thatincludes the content) into the appropriate section of the upload page.Further, the user may continue dragging multiple files until themultiple layers of the content have been uploaded.

At operation 1230, the reception module 210 receives an annotatedversion of the content that depicts the one or more stories. Forinstance, the reception module 210 receives the annotated version of thecontent from the second client device. The second user of the seconddevice, upon viewing the content displayed on the second client device,may alter or edit the content. Subsequently, the second user may sendthe annotated content from the second client device to the receptionmodule 210. As an example, as shown in FIG. 8, the annotated version ofthe content may include an additional description that is added to theoriginal content. Further, the reception module 210 receives anindication to share the annotated version of the content with a thirdclient device. For example, the second user of the second client devicemay double tap on the screen of the second device in order to share theannotated version of the content.

At operation 1240, the presentation module 240 causes presentation ofthe annotated version of the content. The presentation module 240 maycause presentation of the annotated version of the content on the thirdclient device as indicated at operation 1230. Further, the annotatedversion of the content is viewable on the third client device for apredefined duration of time. This is because the annotated version ofthe content can be an ephemeral message that is available for thepredefined duration of time. For example, as shown in FIG. 8, theannotated content includes a timer which indicates an amount of timeremaining before the annotated content disappears.

Modules, Components, and Logic

Certain embodiments are described herein as including logic or a numberof components, modules, or mechanisms. Modules can constitute eithersoftware modules (e.g., code embodied on a machine-readable medium or ina transmission signal) or hardware modules. A “hardware module” is atangible unit capable of performing certain operations and can beconfigured or arranged in a certain physical manner. In various exampleembodiments, one or more computer systems (e.g., a standalone computersystem, a client computer system, or a server computer system) or one ormore hardware modules of a computer system (e.g., a processor or a groupof processors) is configured by software (e.g., an application orapplication portion) as a hardware module that operates to performcertain operations as described herein.

In some embodiments, a hardware module is implemented mechanically,electronically, or any suitable combination thereof. For example, ahardware module can include dedicated circuitry or logic that ispermanently configured to perform certain operations. For example, ahardware module can be a special-purpose processor, such as aField-Programmable Gate Array (FPGA) or an Application SpecificIntegrated Circuit (ASIC). A hardware module may also includeprogrammable logic or circuitry that is temporarily configured bysoftware to perform certain operations. For example, a hardware modulecan include software encompassed within a general-purpose processor orother programmable processor. It will be appreciated that the decisionto implement a hardware module mechanically, in dedicated andpermanently configured circuitry, or in temporarily configured circuitry(e.g., configured by software) can be driven by cost and timeconsiderations.

Accordingly, the phrase “hardware module” should be understood toencompass a tangible entity, be that an entity that is physicallyconstructed, permanently configured (e.g., hardwired), or temporarilyconfigured (e.g., programmed) to operate in a certain manner or toperform certain operations described herein. As used herein,“hardware-implemented module” refers to a hardware module. Consideringembodiments in which hardware modules are temporarily configured (e.g.,programmed), each of the hardware modules need not be configured orinstantiated at any one instance in time. For example, where a hardwaremodule comprises a general-purpose processor configured by software tobecome a special-purpose processor, the general-purpose processor may beconfigured as respectively different special-purpose processors (e.g.,comprising different hardware modules) at different times. Software canaccordingly configure a particular processor or processors, for example,to constitute a particular hardware module at one instance of time andto constitute a different hardware module at a different instance oftime.

Hardware modules can provide information to, and receive informationfrom, other hardware modules. Accordingly, the described hardwaremodules can be regarded as being communicatively coupled. Where multiplehardware modules exist contemporaneously, communications can be achievedthrough signal transmission (e.g., over appropriate circuits and buses)between or among two or more of the hardware modules. In embodiments inwhich multiple hardware modules are configured or instantiated atdifferent times, communications between such hardware modules may beachieved, for example, through the storage and retrieval of informationin memory structures to which the multiple hardware modules have access.For example, one hardware module performs an operation and stores theoutput of that operation in a memory device to which it iscommunicatively coupled. A further hardware module can then, at a latertime, access the memory device to retrieve and process the storedoutput. Hardware modules can also initiate communications with input oroutput devices, and can operate on a resource (e.g., a collection ofinformation).

The various operations of example methods described herein can beperformed, at least partially, by one or more processors that aretemporarily configured (e.g., by software) or permanently configured toperform the relevant operations. Whether temporarily or permanentlyconfigured, such processors constitute processor-implemented modulesthat operate to perform one or more operations or functions describedherein. As used herein, “processor-implemented module” refers to ahardware module implemented using one or more processors.

Similarly, the methods described herein can be at least partiallyprocessor-implemented, with a particular processor or processors beingan example of hardware. For example, at least some of the operations ofa method can be performed by one or more processors orprocessor-implemented modules. Moreover, the one or more processors mayalso operate to support performance of the relevant operations in a“cloud computing” environment or as a “software as a service” (SaaS).For example, at least some of the operations may be performed by a groupof computers (as examples of machines including processors), with theseoperations being accessible via a network (e.g., the Internet) and viaone or more appropriate interfaces (e.g., an Application ProgramInterface (API)).

The performance of certain of the operations may be distributed amongthe processors, not only residing within a single machine, but deployedacross a number of machines. In some example embodiments, the processorsor processor-implemented modules are located in a single geographiclocation (e.g., within a home environment, an office environment, or aserver farm). In other example embodiments, the processors orprocessor-implemented modules are distributed across a number ofgeographic locations.

Applications

FIG. 13 illustrates an example mobile device 1300 executing a mobileoperating system (e.g., IOS™, ANDROID™, WINDOWS® Phone, or other mobileoperating systems), consistent with some embodiments. In one embodiment,the mobile device 1300 includes a touch screen operable to receivetactile data from a user 1302. For instance, the user 1302 mayphysically touch 1304 the mobile device 1300, and in response to thetouch 1304, the mobile device 1300 may determine tactile data such astouch location, touch force, or gesture motion. In various exampleembodiments, the mobile device 1300 displays a home screen 1306 (e.g.,Springboard on IOS™) operable to launch applications or otherwise managevarious aspects of the mobile device 1300. In some example embodiments,the home screen 1306 provides status information such as battery life,connectivity, or other hardware statuses. The user 1302 can activateuser interface elements by touching an area occupied by a respectiveuser interface element. In this manner, the user 1302 interacts with theapplications of the mobile device 1300. For example, touching the areaoccupied by a particular icon included in the home screen 1306 causeslaunching of an application corresponding to the particular icon.

Many varieties of applications (also referred to as “apps”) can beexecuting on the mobile device 1300, such as native applications (e.g.,applications programmed in Objective-C, Swift, or another suitablelanguage running on IOS™, or applications programmed in Java running onANDROID™), mobile web applications (e.g., applications written inHypertext Markup Language-5 (HTML5)), or hybrid applications (e.g., anative shell application that launches an HTML5 session). For example,the mobile device 1300 includes a messaging app, an audio recording app,a camera app, a book reader app, a media app, a fitness app, a filemanagement app, a location app, a browser app, a settings app, acontacts app, a telephone call app, or other apps (e.g., gaming apps,social networking apps, biometric monitoring apps). In another example,the mobile device 1300 includes a social messaging app 1308 such asSNAPCHAT® that, consistent with some embodiments, allows users toexchange ephemeral messages that include media content. In this example,the social messaging app 1308 can incorporate aspects of embodimentsdescribed herein.

Software Architecture

FIG. 14 is a block diagram 1400 illustrating an architecture of software1402, which can be installed on any one or more of the devices describedabove. FIG. 14 is merely a non-limiting example of a softwarearchitecture, and it will be appreciated that many other architecturescan be implemented to facilitate the functionality described herein. Invarious embodiments, the software 1402 is implemented by hardware suchas machine a 1500 of FIG. 15 that includes processors 1510, memory 1530,and I/O components 1550. In this example architecture, the software 1402can be conceptualized as a stack of layers where each layer may providea particular functionality. For example, the software 1402 includeslayers such as an operating system 1404, libraries 1406, frameworks1408, and applications 1410. Operationally, the applications 1410 invokeapplication programming interface (API) calls 1412 through the softwarestack and receive messages 1414 in response to the API calls 1412,consistent with some embodiments.

In various implementations, the operating system 1404 manages hardwareresources and provides common services. The operating system 1404includes, for example, a kernel 1420, services 1422, and drivers 1424.The kernel 1420 acts as an abstraction layer between the hardware andthe other software layers consistent with some embodiments. For example,the kernel 1420 provides memory management, processor management (e.g.,scheduling), component management, networking, and security settings,among other functionality. The services 1422 can provide other commonservices for the other software layers. The drivers 1424 are responsiblefor controlling or interfacing with the underlying hardware, accordingto some embodiments. For instance, the drivers 1424 can include displaydrivers, camera drivers, BLUETOOTH® drivers, flash memory drivers,serial communication drivers (e.g., Universal Serial Bus (USB) drivers),WI-FI® drivers, audio drivers, power management drivers, and so forth.

In some embodiments, the libraries 1406 provide a low-level commoninfrastructure utilized by the applications 1410. The libraries 1406 caninclude system libraries 1430 (e.g., C standard library) that canprovide functions such as memory allocation functions, stringmanipulation functions, mathematic functions, and the like. In addition,the libraries 1406 can include API libraries 1432 such as medialibraries (e.g., libraries to support presentation and manipulation ofvarious media formats such as Moving Picture Experts Group-4 (MPEG4),Advanced Video Coding (H.264 or AVC), Moving Picture Experts GroupLayer-3 (MP3), Advanced Audio Coding (AAC), Adaptive Multi-Rate (AMR)audio codec, Joint Photographic Experts Group (JPEG or JPG), or PortableNetwork Graphics (PNG)), graphics libraries (e.g., an OpenGL frameworkused to render in two dimensions (2D) and three dimensions (3D) in agraphic content on a display), database libraries (e.g., SQLite toprovide various relational database functions), web libraries (e.g.,WebKit to provide web browsing functionality), and the like. Thelibraries 1406 can also include a wide variety of other libraries 1434to provide many other APIs to the applications 1410.

The frameworks 1408 provide a high-level common infrastructure that canbe utilized by the applications 1410, according to some embodiments. Forexample, the frameworks 1408 provide various graphic user interface(GUI) functions, high-level resource management, high-level locationservices, and so forth. The frameworks 1408 can provide a broad spectrumof other APIs that can be utilized by the applications 1410, some ofwhich may be specific to a particular operating system or platform.

In an example embodiment, the applications 1410 include a homeapplication 1450, a contacts application 1452, a browser application1454, a book reader application 1456, a location application 1458, amedia application 1460, a messaging application 1462, a game application1464, and a broad assortment of other applications such as a third partyapplication 1466. According to some embodiments, the applications 1410are programs that execute functions defined in the programs. Variousprogramming languages can be employed to create one or more of theapplications 1410, structured in a variety of manners, such asobject-oriented programming languages (e.g., Objective-C, Java, or C++)or procedural programming languages (e.g., C or assembly language). In aspecific example, the third party application 1466 (e.g., an applicationdeveloped using the ANDROID™ or IOS™ software development kit (SDK) byan entity other than the vendor of the particular platform) may bemobile software running on a mobile operating system such as IOS™,ANDROID™, WINDOWS® PHONE, or another mobile operating systems. In thisexample, the third party application 1466 can invoke the API calls 1412provided by the operating system 1404 to facilitate functionalitydescribed herein.

Example Machine Architecture and Machine-Readable Medium

FIG. 15 is a block diagram illustrating components of a machine 1500,according to some embodiments, able to read instructions from amachine-readable medium (e.g., a machine-readable storage medium) andperform any one or more of the methodologies discussed herein.Specifically, FIG. 15 shows a diagrammatic representation of the machine1500 in the example form of a computer system, within which instructions1516 (e.g., software, a program, an application, an applet, an app, orother executable code) for causing the machine 1500 to perform any oneor more of the methodologies discussed herein can be executed. Inalternative embodiments, the machine 1500 operates as a standalonedevice or can be coupled (e.g., networked) to other machines. In anetworked deployment, the machine 1500 may operate in the capacity of aserver machine or a client machine in a server-client networkenvironment, or as a peer machine in a peer-to-peer (or distributed)network environment. The machine 1500 can comprise, but not be limitedto, a server computer, a client computer, a personal computer (PC), atablet computer, a laptop computer, a netbook, a set-top box (STB), apersonal digital assistant (PDA), an entertainment media system, acellular telephone, a smart phone, a mobile device, a wearable device(e.g., a smart watch), a smart home device (e.g., a smart appliance),other smart devices, a web appliance, a network router, a networkswitch, a network bridge, or any machine capable of executing theinstructions 1516, sequentially or otherwise, that specify actions to betaken by the machine 1500. Further, while only a single machine 1500 isillustrated, the term “machine” shall also be taken to include acollection of machines 1500 that individually or jointly execute theinstructions 1516 to perform any one or more of the methodologiesdiscussed herein.

In various embodiments, the machine 1500 comprises processors 1510,memory 1530, and I/O components 1550, which can be configured tocommunicate with each other via a bus 1502. In an example embodiment,the processors 1510 (e.g., a Central Processing Unit (CPU), a ReducedInstruction Set Computing (RISC) processor, a Complex Instruction SetComputing (CISC) processor, a Graphics Processing Unit (GPU), a DigitalSignal Processor (DSP), an Application Specific Integrated Circuit(ASIC), a Radio-Frequency Integrated Circuit (RFIC), another processor,or any suitable combination thereof) includes, for example, a processor1512 and a processor 1514 that may execute the instructions 1516. Theterm “processor” is intended to include multi-core processors that maycomprise two or more independent processors (also referred to as“cores”) that can execute instructions contemporaneously. Although FIG.15 shows multiple processors, the machine 1500 may include a singleprocessor with a single core, a single processor with multiple cores(e.g., a multi-core processor), multiple processors with a single core,multiple processors with multiples cores, or any combination thereof.

The memory 1530 comprises a main memory 1532, a static memory 1534, anda storage unit 1536 accessible to the processors 1510 via the bus 1502,according to some embodiments. The storage unit 1536 can include amachine-readable medium 1538 on which are stored the instructions 1516embodying any one or more of the methodologies or functions describedherein. The instructions 1516 can also reside, completely or at leastpartially, within the main memory 1532, within the static memory 1534,within at least one of the processors 1510 (e.g., within the processor'scache memory), or any suitable combination thereof, during executionthereof by the machine 1500. Accordingly, in various embodiments, themain memory 1532, the static memory 1534, and the processors 1510 areconsidered machine-readable media 1538.

As used herein, the term “memory” refers to a machine-readable medium1538 able to store data temporarily or permanently and may be taken toinclude, but not be limited to, random-access memory (RAM), read-onlymemory (ROM), buffer memory, flash memory, and cache memory. While themachine-readable medium 1538 is shown in an example embodiment to be asingle medium, the term “machine-readable medium” should be taken toinclude a single medium or multiple media (e.g., a centralized ordistributed database, or associated caches and servers) able to storethe instructions 1516. The term “machine-readable medium” shall also betaken to include any medium, or combination of multiple media, that iscapable of storing instructions (e.g., instructions 1516) for executionby a machine (e.g., machine 1500), such that the instructions, whenexecuted by one or more processors of the machine 1500 (e.g., processors1510), cause the machine 1500 to perform any one or more of themethodologies described herein. Accordingly, a “machine-readable medium”refers to a single storage apparatus or device, as well as “cloud-based”storage systems or storage networks that include multiple storageapparatus or devices. The term “machine-readable medium” shallaccordingly be taken to include, but not be limited to, one or more datarepositories in the form of a solid-state memory (e.g., flash memory),an optical medium, a magnetic medium, other non-volatile memory (e.g.,Erasable Programmable Read-Only Memory (EPROM)), or any suitablecombination thereof. The term “machine-readable medium” specificallyexcludes non-statutory signals per se.

The I/O components 1550 include a wide variety of components to receiveinput, provide output, produce output, transmit information, exchangeinformation, capture measurements, and so on. In general, it will beappreciated that the I/O components 1550 can include many othercomponents that are not shown in FIG. 15. The I/O components 1550 aregrouped according to functionality merely for simplifying the followingdiscussion, and the grouping is in no way limiting. In various exampleembodiments, the I/O components 1550 include output components 1552 andinput components 1554. The output components 1552 include visualcomponents (e.g., a display such as a plasma display panel (PDP), alight emitting diode (LED) display, a liquid crystal display (LCD), aprojector, or a cathode ray tube (CRT)), acoustic components (e.g.,speakers), haptic components (e.g., a vibratory motor), other signalgenerators, and so forth. The input components 1554 include alphanumericinput components (e.g., a keyboard, a touch screen configured to receivealphanumeric input, a photo-optical keyboard, or other alphanumericinput components), point based input components (e.g., a mouse, atouchpad, a trackball, a joystick, a motion sensor, or other pointinginstruments), tactile input components (e.g., a physical button, a touchscreen that provides location and force of touches or touch gestures, orother tactile input components), audio input components (e.g., amicrophone), and the like.

In some further example embodiments, the I/O components 1550 includebiometric components 1556, motion components 1558, environmentalcomponents 1560, or position components 1562, among a wide array ofother components. For example, the biometric components 1556 includecomponents to detect expressions (e.g., hand expressions, facialexpressions, vocal expressions, body gestures, or eye tracking), measurebiosignals (e.g., blood pressure, heart rate, body temperature,perspiration, or brain waves), identify a person (e.g., voiceidentification, retinal identification, facial identification,fingerprint identification, or electroencephalogram basedidentification), and the like. The motion components 1558 includeacceleration sensor components (e.g., accelerometer), gravitation sensorcomponents, rotation sensor components (e.g., gyroscope), and so forth.The environmental components 1560 include, for example, illuminationsensor components (e.g., photometer), temperature sensor components(e.g., one or more thermometers that detect ambient temperature),humidity sensor components, pressure sensor components (e.g.,barometer), acoustic sensor components (e.g., one or more microphonesthat detect background noise), proximity sensor components (e.g.,infrared sensors that detect nearby objects), gas sensor components(e.g., machine olfaction detection sensors, gas detection sensors todetect concentrations of hazardous gases for safety or to measurepollutants in the atmosphere), or other components that may provideindications, measurements, or signals corresponding to a surroundingphysical environment. The position components 1562 include locationsensor components (e.g., a Global Positioning System (GPS) receivercomponent), altitude sensor components (e.g., altimeters or barometersthat detect air pressure from which altitude may be derived),orientation sensor components (e.g., magnetometers), and the like.

Communication can be implemented using a wide variety of technologies.The I/O components 1550 may include communication components 1564operable to couple the machine 1500 to a network 1580 or devices 1570via a coupling 1582 and a coupling 1572, respectively. For example, thecommunication components 1564 include a network interface component oranother suitable device to interface with the network 1580. In furtherexamples, communication components 1564 include wired communicationcomponents, wireless communication components, cellular communicationcomponents, Near Field Communication (NFC) components, BLUETOOTH®components (e.g., BLUETOOTH® Low Energy), WI-FI® components, and othercommunication components to provide communication via other modalities.The devices 1570 may be another machine or any of a wide variety ofperipheral devices (e.g., a peripheral device coupled via a UniversalSerial Bus (USB)).

Moreover, in some embodiments, the communication components 1564 detectidentifiers or include components operable to detect identifiers. Forexample, the communication components 1564 include Radio FrequencyIdentification (RFID) tag reader components, NFC smart tag detectioncomponents, optical reader components (e.g., an optical sensor to detecta one-dimensional bar codes such as a Universal Product Code (UPC) barcode, multi-dimensional bar codes such as a Quick Response (QR) code,Aztec Code, Data Matrix, Dataglyph, MaxiCode, PDF417, Ultra Code,Uniform Commercial Code Reduced Space Symbology (UCC RSS)-2D bar codes,and other optical codes), acoustic detection components (e.g.,microphones to identify tagged audio signals), or any suitablecombination thereof. In addition, a variety of information can bederived via the communication components 1564, such as location viaInternet Protocol (IP) geolocation, location via WI-FI® signaltriangulation, location via detecting a BLUETOOTH® or NFC beacon signalthat may indicate a particular location, and so forth.

Transmission Medium

In various example embodiments, one or more portions of the network 1580can be an ad hoc network, an intranet, an extranet, a virtual privatenetwork (VPN), a local area network (LAN), a wireless LAN (WLAN), a widearea network (WAN), a wireless WAN (WWAN), a metropolitan area network(MAN), the Internet, a portion of the Internet, a portion of the PublicSwitched Telephone Network (PSTN), a plain old telephone service (POTS)network, a cellular telephone network, a wireless network, a WI-FI®network, another type of network, or a combination of two or more suchnetworks. For example, the network 1580 or a portion of the network 1580may include a wireless or cellular network, and the coupling 1582 may bea Code Division Multiple Access (CDMA) connection, a Global System forMobile communications (GSM) connection, or another type of cellular orwireless coupling. In this example, the coupling 1582 can implement anyof a variety of types of data transfer technology, such as SingleCarrier Radio Transmission Technology (1×RTT), Evolution-Data Optimized(EVDO) technology, General Packet Radio Service (GPRS) technology,Enhanced Data rates for GSM Evolution (EDGE) technology, thirdGeneration Partnership Project (3GPP) including 3G, fourth generationwireless (4G) networks, Universal Mobile Telecommunications System(UMTS), High Speed Packet Access (HSPA), Worldwide Interoperability forMicrowave Access (WiMAX), Long Term Evolution (LTE) standard, othersdefined by various standard-setting organizations, other long rangeprotocols, or other data transfer technology.

In example embodiments, the instructions 1516 are transmitted orreceived over the network 1580 using a transmission medium via a networkinterface device (e.g., a network interface component included in thecommunication components 1564) and utilizing any one of a number ofwell-known transfer protocols (e.g., Hypertext Transfer Protocol(HTTP)). Similarly, in other example embodiments, the instructions 1516are transmitted or received using a transmission medium via the coupling1572 (e.g., a peer-to-peer coupling) to the devices 1570. The term“transmission medium” shall be taken to include any intangible mediumthat is capable of storing, encoding, or carrying the instructions 1516for execution by the machine 1500, and includes digital or analogcommunications signals or other intangible media to facilitatecommunication of such software.

Furthermore, the machine-readable medium 1538 is non-transitory (inother words, not having any transitory signals) in that it does notembody a propagating signal. However, labeling the machine-readablemedium 1538 “non-transitory” should not be construed to mean that themedium is incapable of movement; the medium should be considered asbeing transportable from one physical location to another. Additionally,since the machine-readable medium 1538 is tangible, the medium may beconsidered to be a machine-readable device.

Language

Throughout this specification, plural instances may implementcomponents, operations, or structures described as a single instance.Although individual operations of one or more methods are illustratedand described as separate operations, one or more of the individualoperations may be performed concurrently, and nothing requires that theoperations be performed in the order illustrated. Structures andfunctionality presented as separate components in example configurationsmay be implemented as a combined structure or component. Similarly,structures and functionality presented as a single component may beimplemented as separate components. These and other variations,modifications, additions, and improvements fall within the scope of thesubject matter herein.

Although an overview of the inventive subject matter has been describedwith reference to specific example embodiments, various modificationsand changes may be made to these embodiments without departing from thebroader scope of embodiments of the present disclosure. Such embodimentsof the inventive subject matter may be referred to herein, individuallyor collectively, by the term “invention” merely for convenience andwithout intending to voluntarily limit the scope of this application toany single disclosure or inventive concept if more than one is, in fact,disclosed.

The embodiments illustrated herein are described in sufficient detail toenable those skilled in the art to practice the teachings disclosed.Other embodiments may be used and derived therefrom, such thatstructural and logical substitutions and changes may be made withoutdeparting from the scope of this disclosure. The Detailed Description,therefore, is not to be taken in a limiting sense, and the scope ofvarious embodiments is defined only by the appended claims, along withthe full range of equivalents to which such claims are entitled.

As used herein, the term “or” may be construed in either an inclusive orexclusive sense. Moreover, plural instances may be provided forresources, operations, or structures described herein as a singleinstance. Additionally, boundaries between various resources,operations, modules, engines, and data stores are somewhat arbitrary,and particular operations are illustrated in a context of specificillustrative configurations. Other allocations of functionality areenvisioned and may fall within a scope of various embodiments of thepresent disclosure. In general, structures and functionality presentedas separate resources in the example configurations may be implementedas a combined structure or resource. Similarly, structures andfunctionality presented as a single resource may be implemented asseparate resources. These and other variations, modifications,additions, and improvements fall within a scope of embodiments of thepresent disclosure as represented by the appended claims. Thespecification and drawings are, accordingly, to be regarded in anillustrative rather than a restrictive sense.

What is claimed is:
 1. A method comprising: receiving, a first pluralityof content items from a first user account of a social networkingsystem, the first plurality of content items comprising multiple fileseach corresponding to a different layer of content, a first file of themultiple files received from the first user account comprising a firstvideo including video content, and a second file of the multiple filesreceived from the first user account comprising shortened video contentof the first video, the second file being received separately from thefirst file from the first user account; generating a first layer ofcontent that includes the second video and a second layer of contentthat includes the first video; causing display of the first layer ofcontent on a client device; receiving, from the client device, a userinteraction with the first layer of content; responsive to the receivingof the user interaction, causing display of the second layer of content.2. The method of claim 1, wherein: the first layer of content isconfigured to display the second layer of content in response toreceiving a particular user input; the user interaction comprises touchinput at a particular area of the display; the second video includesless than all of the video content of the first video, and the methodfurther comprises: receiving a second plurality of content items from asecond user account of the social networking system; generating a firstgraphic in response to the reception of the first plurality of contentitems received from the first user account; generating a second graphicin response to the reception of the second plurality of content itemsreceived from the second user account; generating a graphical userinterface to include the first graphic; configuring the graphical userinterface to display content from the first user account upon selectionof the first graphic based, in part, on the first plurality of contentitems being received from the first user account; further generating thegraphical user interface to include the second graphic; configuring thegraphical user interface to display content from the second user accountupon selection of the second graphic based, in part, on the secondplurality of content items being received from the second user account;and causing presentation, via a server of the social networking system,of the graphical user interface in a social networking clientapplication of a third user account.
 3. The method of claim 1, furthercomprising: causing display of an indication of an area of the displaythat is configured to receive the user interaction to cause display ofthe second layer; receiving, from a first user of the client device, anannotation to the second layer of content displayed; and modifying thesecond layer of content based on the received annotation, wherein theannotated second layer of content is presented to a second user ofanother client device.
 4. The method of claim 1, further comprising:receiving a plurality of content items from a plurality of additionaluser accounts of the social networking system; generating acorresponding plurality of graphics corresponding to each of theadditional user accounts; and generating a graphical user interface todisplay each of the plurality of graphics, each of the plurality ofgraphics configured to display content from the corresponding useraccount in response to a selection of the graphic.
 5. The method ofclaim 1, further comprising: grouping the first plurality of contentitems based on the first plurality of content items being receivedwithin a predetermined window of elapsed time.
 6. The method of claim 1,further comprising: receiving additional content from a device of aprovider; and generating a link in a generated home page thatcorresponds to the additional content.
 7. The method of claim 6, furthercomprising: generating a thumbnail image in the generated home page thatcorresponds to the provider, an appearance of the thumbnail image beingsubject to change based on display of the additional content.
 8. Themethod of claim 1, wherein: the first layer of content is displayed on ascreen of the client device; and the user interaction includes a swipeacross the first layer of content displayed on the screen of the clientdevice.
 9. The method of claim 1, further comprising receiving third andfourth files of the multiple files from the first user account, thethird file comprising an image or video associated with a traveldestination, and the fourth file comprising descriptive informationabout the travel destination.
 10. The method of claim 1, furthercomprising presenting, together with the second layer of content, avisual indication of an amount of time remaining before an annotationassociated with the second layer of content is deleted.
 11. The methodof claim 1, wherein the second video comprises a video clipcorresponding to the first video, further comprising overlaying one ormore images on top of the video clip as the video clip is being playedin the first layer of content.
 12. The method of claim 1, furthercomprising: causing display of a plurality of indicators of differentsubsets of content, wherein the first layer of content corresponding toa first subset of the different subsets of content is displayed inresponse to receiving input that selects a given indicator of theplurality of indicators that is associated with the first video, andwherein the given indicator is animated to change an appearance of thegiven indicator in response to determining that all content associatedwith the first subset has been viewed.
 13. The method of claim 1,further comprising: generating a third layer of content that includes animage or video associated with a travel destination; receiving, from theclient device, a user interaction with the third layer of content; andresponsive to the receiving of the user interaction with the third layerof content, causing display of a fourth layer of content that includes aplurality of description comprising descriptive information about thetravel destination.
 14. The method of claim 13, wherein the plurality ofdescriptions in the fourth layer of content comprising a story about thetravel destination, one or more events at the travel destination, andfood associated with the travel destination.
 15. The method of claim 1,further comprising: causing an upload page to be presented to a userassociated with the first user account; receiving, via the upload page,the first file in response receiving first input from the user thatdrags the first file into a first section of the upload pagecorresponding to the second layer; and receiving, via the upload page,the second file in response receiving second input from the user thatdrags the second file into a second section of the upload pagecorresponding to the first layer.
 16. The method of claim 1, furthercomprising: receiving a scheduled time for presenting the first layer ofcontent from a first user associated with the first user account; andcausing presentation of the first layer of content to a second user,associated with a second user account, during the scheduled time. 17.The method of claim 1, further comprising: causing display of aplurality of indicators of different subsets of content, wherein thefirst layer of content is displayed in response to receiving input thatselects a given indicator of the plurality of indicators that isassociated with the first video; and causing display of a selectablelink in the second layer of content together with the first video,wherein the plurality of indicators are displayed in response detectingactivation of the selectable link, and wherein an animation is displayedin response to detecting activation of the selectable link.
 18. Themethod of claim 17, wherein each of the subsets of content is associatedwith a different day of the week.
 19. A system comprising: one or morehardware processors and executable instructions accessible on anon-transitory computer-readable medium that, when executed, configurethe one or more hardware processors to perform operations comprising:receiving, a first plurality of content items from a first user accountof a social networking system, the first plurality of content itemscomprising multiple files each corresponding to a different layer ofcontent, a first file of the multiple files received from the first useraccount comprising a first video including video content, and a secondfile of the multiple files received from the first user accountcomprising shortened video content of the first video, the second filebeing received separately from the first file from the first useraccount; generating a first layer of content that includes the secondvideo and a second layer of content that includes the first video;causing display of the first layer of content on a client device;receiving, from the client device, a user interaction with the firstlayer of content; responsive to the receiving of the user interaction,causing display of the second layer of content.
 20. A non-transitorymachine-readable medium storing instructions that, when executed by oneor more processors of a machine, cause the machine to perform operationscomprising: receiving, a first plurality of content items from a firstuser account of a social networking system, the first plurality ofcontent items comprising multiple files each corresponding to adifferent layer of content, a first file of the multiple files receivedfrom the first user account comprising a first video including videocontent, and a second file of the multiple files received from the firstuser account comprising shortened video content of the first video, thesecond file being received separately from the first file from the firstuser account; generating a first layer of content that includes thesecond video and a second layer of content that includes the firstvideo; causing display of the first layer of content on a client device;receiving, from the client device, a user interaction with the firstlayer of content; responsive to the receiving of the user interaction,causing display of the second layer of content.